package com.hanserwei.community.entity.po;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
import java.io.Serial;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * 水电气抄表记录表
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@TableName("records")
@Schema(description = "水电气抄表记录")
public class MeterRecord implements Serializable {
    @Serial
    private static final long serialVersionUID = 1L;

    /** 主键 */
    @TableId(value = "id", type = IdType.AUTO)
    @Schema(description = "主键")
    private Integer id;

    /** 表计类型ID */
    @TableField("type_id")
    @Schema(description = "表计类型ID")
    private Integer typeId;

    /** 上次读数 */
    @TableField("up_num")
    @Schema(description = "上次读数")
    private BigDecimal previousReading;

    /** 本次读数 */
    @TableField("down_num")
    @Schema(description = "本次读数")
    private BigDecimal currentReading;

    /** 房屋ID */
    @TableField("house_id")
    @Schema(description = "房屋ID")
    private Integer houseId;

    /** 上次抄表时间 */
    @TableField("up_time")
    @Schema(description = "上次抄表时间")
    private LocalDateTime previousTime;

    /** 本次抄表时间 */
    @TableField("on_time")
    @Schema(description = "本次抄表时间")
    private LocalDateTime currentTime;

    /** 校验时间 */
    @TableField("check_time")
    @Schema(description = "校验时间")
    private LocalDateTime checkTime;

    /** 表计编号 */
    @TableField("meter")
    @Schema(description = "表计编号")
    private String meter;

    /** 备注 */
    @TableField("remarks")
    @Schema(description = "备注")
    private String remarks;
}
